package com.yc.jpyy.complaint.dao;

import com.yc.jpyy.base.dao.BaseDao;

import org.springframework.dao.DataAccessException;

import java.util.List;
import java.util.Map;


public interface ComplaintInfoDao extends BaseDao {

    int add(Map<String, Object> loseGoodsInfo) throws DataAccessException;

    int update(Map<String, Object> loseGoodsInfo) throws DataAccessException;
    
    int updates(Map<String, Object> loseGoodsInfo) throws DataAccessException;

    int del(Map<String, Object> loseGoodsInfo) throws DataAccessException;

    int delforUpdate(Map<String, Object> loseGoodsInfo) throws DataAccessException;

    Map<String, Object> findByID(Map<String, Object> paramsMap) throws DataAccessException;

    //分页查询
    List<Map<String, Object>> findPage(Map<String, Object> paramsMap)throws DataAccessException;
    
   //分页查询（打印）
    List<Map<String, Object>> findPagePrint(Map<String, Object> paramsMap)throws DataAccessException;

    //查询总数
    int findCount(Map<String, Object> paramsMap)throws DataAccessException;
    
    //查询总数
    int findPrintCount(Map<String, Object> paramsMap)throws DataAccessException;
    
    
    int findwxUserCountToBlackDao(Map<String, Object> paramsMap)throws DataAccessException;
    

    /**
     * 获取所有车辆信息
     * @return
     */
    List getVehicleAll(Map<String,Object> paramsMap);

    /**
     * 根据车牌号获取车辆信息
     * @param paramsMap
     * @return
     */
    List getVehicleByVehicleNo(Map<String, Object> paramsMap);

    /**
     * 处理中心回复
     * @param map
     */
    void complaintHandleByCentent(Map<String, Object> map);

    /**
     * 投诉转办
     * @param map
     */
    void complainDistribution(Map<String, Object> map);

    /**
     * 获取公司需要处理的投诉信息
     * @param paramsMap
     * @return
     */
    List getCompanyComplaint(Map<String, Object> paramsMap);

    /**
     * 公司处理投诉信息
     * @param paramsMap
     * @return 
     */
    int complaintHandleByCanpany(Map<String, Object> paramsMap);
    

    /**
     * 更改是否催办
     * @param paramsMap
     * @return 
     */
    int updateIsUrge(Map<String, Object> paramsMap);

    /**
     * 根据车牌号与车架号判断车辆是否存在
     * @param paramsMap
     * @return
     */
    int isVehicleExists(Map<String,Object> paramsMap);

    /**
     * 根据车牌号获取车辆被投诉信息
     * @param paramsMap
     * @return
     */
    List getCompanyComplaintByVehicleNo(Map<String,Object> paramsMap);

    /**
     * 根据车牌号获取投诉车辆总数
     * @param paramsMap
     * @return
     */
    int getVehicleByVehicleNoCount(Map<String, Object> paramsMap);

    /**
     * 根据身份证获取车辆信息
     * @param paramsMap
     * @return
     */
    List<Map<String,Object>> getVehiclesByIdNumber(Map<String, Object> paramsMap);

    /**
     * 根据身份证号获取车辆信息数量
     * @param paramsMap
     * @return
     */
    int getVehiclesByIdNumberCount(Map<String, Object> paramsMap);
    
    List<Map<String,Object>> getVehicleOpenid(Map<String, Object> paramsMap);
    
    int updateComplaintTransfer(Map<String, Object> paramsMap);
    
    List<Map<String,Object>> getComplaintInfoByPage(Map<String, Object> paramsMap);
    
    int getComplaintInfoCount(Map<String, Object> paramsMap);
    
    Map<String,Object> getComplainantPhone(Map<String, Object> paramsMap);
    
    int updateComplaintAnnexByID(Map<String, Object> paramsMap);
    
    String getDbcode(Map<String, Object> paramsMap);
    
    List<Map<String,Object>> getDriverByVehicleNo(Map<String, Object> paramsMap);
    
    int findwxUserComplaintByOneDao(Map<String, Object> paramsMap);
    
	Map<String, Object> selcetCalendarByDate(Map<String, Object> paramsMap)throws DataAccessException;
    
    Map<String,Object> findVehicleIdDao(Map<String, Object> paramsMap);
    
    
   
}
